#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;
void mul(vector<int>& d, int n)
{
	int l = 0;
	for (int i = 0; i < d.size(); i++)
	{
		l += d[i] * n;
		d[i] = l % 10;
		l /= 10;
	}
	if (l)
		d.emplace_back(l);
}
void add(vector<int>& d, int n, int b)
{
	int l = b;
	for (int i = n; i < d.size(); i++)
	{
		l += d[i];
		d[i] = l % 10;
		l /= 10;
	}
	if (l)
		d.emplace_back(l);
}

int main()
{
	int n;
	string d;
	cin >> n >> d;

	reverse(d.begin(), d.end());
	int dot = d.find('.');
	vector<int> D;
	for (auto e : d)
		if (e != '.')
			D.emplace_back(e - '0');

	while (n--)
		mul(D, 2);

	if (D[dot - 1] >= 5)
		add(D, dot, 1);
	for (int i = D.size()-1; i >= dot; i--)
		cout << D[i];

	return 0;
}